chore: hatchling/hatch-vcs dynamic versioning, release CI, Makefile, and dev docs#16
chore: hatchling/hatch-vcs dynamic versioning, release CI, Makefile, and dev docs#16H00N24 wants to merge 8 commits into
Conversation
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
langgraph-prebuilt 1.0.13 imports `ExecutionInfo` from `langgraph.runtime`, a symbol introduced after 1.0.5. The previous strict pin caused an ImportError at test-collection time. Resolved to 1.1.10. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| "langgraph==1.0.5", | ||
| "langgraph>=1.0.13", |
There was a problem hiding this comment.
This was updated to make the CI pass (langchain-ai/langgraph#7404) , do we want to lock to 1.0.5 with lock on langgraph-prebuilt?
There was a problem hiding this comment.
upstream ai composer just pins to langgraph-prebuilt==1.0.8. More to the point, updating past 1.0.5 introduces a change in how langgraph handles checkpoints that is very disruptive for our tooling and extremely difficult for us to program around. In other words 1.0.5 is the max langgraph version we're going to be using for the time being.
| "langgraph==1.0.5", | ||
| "langgraph>=1.0.13", |
There was a problem hiding this comment.
upstream ai composer just pins to langgraph-prebuilt==1.0.8. More to the point, updating past 1.0.5 introduces a change in how langgraph handles checkpoints that is very disruptive for our tooling and extremely difficult for us to program around. In other words 1.0.5 is the max langgraph version we're going to be using for the time being.
Summary
Consolidate graphcore's CI into a single workflow and adopt uv-native publishing
to the Certora private PyPI (AWS CodeArtifact).
Changes
.github/workflows/ci.yml) replacingpyright.yml,pytest.yml, andrelease.yml. Flow:build_package → tests → codeartifact_pypi_upload.testsdownloads the wheel artifact and installs it (uv pip install --force-reinstall --no-deps dist/*.whl),so CI exercises the built package, not editable source.
pytestandpyrightrun as steps in thetestsjob withif: success() || failure()so a failure in one doesn't skip the other.
main/masterorv*.*.*tags, gated on tests passing.uv publish --index certorareplacesuvx twine uploadand theaws codeartifact get-repository-endpointlookup. The publish/check URLscome from a new
[[tool.uv.index]]block inpyproject.toml(withexplicit = true, so public PyPI stays the default for resolution).# vX.Y.Zcomment..github/dependabot.yml) added — weekly grouped bumps forGitHub Actions (keeps the SHA pins fresh).
contents: read, with per-job grants(
id-token: writefor AWS OIDC,contents: writeonly for the release job).pytestandpyrighttargets running throughuv run,so CI and local dev share the same entrypoints.
requirements.txt(duplicateduv.lock).Potential future plans
More information about prefix etc https://github.com/Certora/certora-python-cookiecutter